home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / sound / emux_legacy.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  5KB  |  147 lines

  1. #ifndef __SOUND_EMUX_LEGACY_H
  2. #define __SOUND_EMUX_LEGACY_H
  3.  
  4. /*
  5.  *  Copyright (c) 1999-2000 Takashi Iwai <tiwai@suse.de>
  6.  *
  7.  *  Definitions of OSS compatible headers for Emu8000 device informations
  8.  *
  9.  *   This program is free software; you can redistribute it and/or modify
  10.  *   it under the terms of the GNU General Public License as published by
  11.  *   the Free Software Foundation; either version 2 of the License, or
  12.  *   (at your option) any later version.
  13.  *
  14.  *   This program is distributed in the hope that it will be useful,
  15.  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  *   GNU General Public License for more details.
  18.  *
  19.  *   You should have received a copy of the GNU General Public License
  20.  *   along with this program; if not, write to the Free Software
  21.  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  22.  *
  23.  */
  24.  
  25. #include "seq_oss_legacy.h"
  26.  
  27. /*
  28.  * awe hardware controls
  29.  */
  30.  
  31. #define _EMUX_OSS_DEBUG_MODE        0x00
  32. #define _EMUX_OSS_REVERB_MODE        0x01
  33. #define _EMUX_OSS_CHORUS_MODE        0x02
  34. #define _EMUX_OSS_REMOVE_LAST_SAMPLES    0x03
  35. #define _EMUX_OSS_INITIALIZE_CHIP    0x04
  36. #define _EMUX_OSS_SEND_EFFECT        0x05
  37. #define _EMUX_OSS_TERMINATE_CHANNEL    0x06
  38. #define _EMUX_OSS_TERMINATE_ALL        0x07
  39. #define _EMUX_OSS_INITIAL_VOLUME    0x08
  40. #define _EMUX_OSS_INITIAL_ATTEN    _EMUX_OSS_INITIAL_VOLUME
  41. #define _EMUX_OSS_RESET_CHANNEL        0x09
  42. #define _EMUX_OSS_CHANNEL_MODE        0x0a
  43. #define _EMUX_OSS_DRUM_CHANNELS        0x0b
  44. #define _EMUX_OSS_MISC_MODE        0x0c
  45. #define _EMUX_OSS_RELEASE_ALL        0x0d
  46. #define _EMUX_OSS_NOTEOFF_ALL        0x0e
  47. #define _EMUX_OSS_CHN_PRESSURE        0x0f
  48. #define _EMUX_OSS_EQUALIZER        0x11
  49.  
  50. #define _EMUX_OSS_MODE_FLAG        0x80
  51. #define _EMUX_OSS_COOKED_FLAG        0x40    /* not supported */
  52. #define _EMUX_OSS_MODE_VALUE_MASK    0x3F
  53.  
  54.  
  55. /*
  56.  * mode type definitions
  57.  */
  58. enum {
  59. /* 0*/    EMUX_MD_EXCLUSIVE_OFF,    /* obsolete */
  60. /* 1*/    EMUX_MD_EXCLUSIVE_ON,    /* obsolete */
  61. /* 2*/    EMUX_MD_VERSION,        /* read only */
  62. /* 3*/    EMUX_MD_EXCLUSIVE_SOUND,    /* 0/1: exclusive note on (default=1) */
  63. /* 4*/    EMUX_MD_REALTIME_PAN,    /* 0/1: do realtime pan change (default=1) */
  64. /* 5*/    EMUX_MD_GUS_BANK,    /* bank number for GUS patches (default=0) */
  65. /* 6*/    EMUX_MD_KEEP_EFFECT,    /* 0/1: keep effect values, (default=0) */
  66. /* 7*/    EMUX_MD_ZERO_ATTEN,    /* attenuation of max volume (default=32) */
  67. /* 8*/    EMUX_MD_CHN_PRIOR,    /* 0/1: set MIDI channel priority mode (default=1) */
  68. /* 9*/    EMUX_MD_MOD_SENSE,    /* integer: modwheel sensitivity (def=18) */
  69. /*10*/    EMUX_MD_DEF_PRESET,    /* integer: default preset number (def=0) */
  70. /*11*/    EMUX_MD_DEF_BANK,    /* integer: default bank number (def=0) */
  71. /*12*/    EMUX_MD_DEF_DRUM,    /* integer: default drumset number (def=0) */
  72. /*13*/    EMUX_MD_TOGGLE_DRUM_BANK, /* 0/1: toggle drum flag with bank# (def=0) */
  73. /*14*/    EMUX_MD_NEW_VOLUME_CALC,    /* 0/1: volume calculation mode (def=1) */
  74. /*15*/    EMUX_MD_CHORUS_MODE,    /* integer: chorus mode (def=2) */
  75. /*16*/    EMUX_MD_REVERB_MODE,    /* integer: chorus mode (def=4) */
  76. /*17*/    EMUX_MD_BASS_LEVEL,    /* integer: bass level (def=5) */
  77. /*18*/    EMUX_MD_TREBLE_LEVEL,    /* integer: treble level (def=9) */
  78. /*19*/    EMUX_MD_DEBUG_MODE,    /* integer: debug level (def=0) */
  79. /*20*/    EMUX_MD_PAN_EXCHANGE,    /* 0/1: exchange panning direction (def=0) */
  80.     EMUX_MD_END,
  81. };
  82.  
  83.  
  84. /*
  85.  * effect parameters
  86.  */
  87. enum {
  88.  
  89. /* modulation envelope parameters */
  90. /* 0*/    EMUX_FX_ENV1_DELAY,    /* WORD: ENVVAL */
  91. /* 1*/    EMUX_FX_ENV1_ATTACK,    /* BYTE: up ATKHLD */
  92. /* 2*/    EMUX_FX_ENV1_HOLD,    /* BYTE: lw ATKHLD */
  93. /* 3*/    EMUX_FX_ENV1_DECAY,    /* BYTE: lw DCYSUS */
  94. /* 4*/    EMUX_FX_ENV1_RELEASE,    /* BYTE: lw DCYSUS */
  95. /* 5*/    EMUX_FX_ENV1_SUSTAIN,    /* BYTE: up DCYSUS */
  96. /* 6*/    EMUX_FX_ENV1_PITCH,    /* BYTE: up PEFE */
  97. /* 7*/    EMUX_FX_ENV1_CUTOFF,    /* BYTE: lw PEFE */
  98.  
  99. /* volume envelope parameters */
  100. /* 8*/    EMUX_FX_ENV2_DELAY,    /* WORD: ENVVOL */
  101. /* 9*/    EMUX_FX_ENV2_ATTACK,    /* BYTE: up ATKHLDV */
  102. /*10*/    EMUX_FX_ENV2_HOLD,    /* BYTE: lw ATKHLDV */
  103. /*11*/    EMUX_FX_ENV2_DECAY,    /* BYTE: lw DCYSUSV */
  104. /*12*/    EMUX_FX_ENV2_RELEASE,    /* BYTE: lw DCYSUSV */
  105. /*13*/    EMUX_FX_ENV2_SUSTAIN,    /* BYTE: up DCYSUSV */
  106.     
  107. /* LFO1 (tremolo & vibrato) parameters */
  108. /*14*/    EMUX_FX_LFO1_DELAY,    /* WORD: LFO1VAL */
  109. /*15*/    EMUX_FX_LFO1_FREQ,    /* BYTE: lo TREMFRQ */
  110. /*16*/    EMUX_FX_LFO1_VOLUME,    /* BYTE: up TREMFRQ */
  111. /*17*/    EMUX_FX_LFO1_PITCH,    /* BYTE: up FMMOD */
  112. /*18*/    EMUX_FX_LFO1_CUTOFF,    /* BYTE: lo FMMOD */
  113.  
  114. /* LFO2 (vibrato) parameters */
  115. /*19*/    EMUX_FX_LFO2_DELAY,    /* WORD: LFO2VAL */
  116. /*20*/    EMUX_FX_LFO2_FREQ,    /* BYTE: lo FM2FRQ2 */
  117. /*21*/    EMUX_FX_LFO2_PITCH,    /* BYTE: up FM2FRQ2 */
  118.  
  119. /* Other overall effect parameters */
  120. /*22*/    EMUX_FX_INIT_PITCH,    /* SHORT: pitch offset */
  121. /*23*/    EMUX_FX_CHORUS,        /* BYTE: chorus effects send (0-255) */
  122. /*24*/    EMUX_FX_REVERB,        /* BYTE: reverb effects send (0-255) */
  123. /*25*/    EMUX_FX_CUTOFF,        /* BYTE: up IFATN */
  124. /*26*/    EMUX_FX_FILTERQ,        /* BYTE: up CCCA */
  125.  
  126. /* Sample / loop offset changes */
  127. /*27*/    EMUX_FX_SAMPLE_START,    /* SHORT: offset */
  128. /*28*/    EMUX_FX_LOOP_START,    /* SHORT: offset */
  129. /*29*/    EMUX_FX_LOOP_END,    /* SHORT: offset */
  130. /*30*/    EMUX_FX_COARSE_SAMPLE_START,    /* SHORT: upper word offset */
  131. /*31*/    EMUX_FX_COARSE_LOOP_START,    /* SHORT: upper word offset */
  132. /*32*/    EMUX_FX_COARSE_LOOP_END,        /* SHORT: upper word offset */
  133. /*33*/    EMUX_FX_ATTEN,        /* BYTE: lo IFATN */
  134.  
  135.     EMUX_FX_END,
  136. };
  137. /* number of effects */
  138. #define EMUX_NUM_EFFECTS  EMUX_FX_END
  139.  
  140. /* effect flag values */
  141. #define EMUX_FX_FLAG_OFF    0
  142. #define EMUX_FX_FLAG_SET    1
  143. #define EMUX_FX_FLAG_ADD    2
  144.  
  145.  
  146. #endif /* __SOUND_EMUX_LEGACY_H */
  147.